package com.mes.task.dao.iface;

import java.util.List;

import com.bstek.dorado.data.provider.Page;
import com.mes.common.dao.iface.IBasicDao;
import com.mes.task.domain.AssignmentDevice;

public interface IAssignmentDeviceDao extends IBasicDao<AssignmentDevice> {
	
	/**
	 * 通过工序任务唯一号获取派工信息列表
	 * 
	 * @param operationTaskUid
	 * @return
	 */
	public List<AssignmentDevice> getAssignmentDevices(String operationTaskUid) ;
	
	/**
	 * 获取某一部门所有未完成工序的 某一状态下的派工记录,按照状态过滤
	 * 
	 * @param deptUid
	 * @param assnState
	 * @param page
	 * @return
	 */
	public List<AssignmentDevice> getAssignmentDevices(String deptUid, int assnState, Page<AssignmentDevice> page);
	
	/**
	 * 获取某一个部门的派工记录
	 * 
	 * @param deptUid
	 * @param page
	 * @return
	 */
	public List<AssignmentDevice> getDeptAssignments(String deptUid, Page<AssignmentDevice> page);
	
	/**
	 * 获取某一部门的已下达的派工记录
	 * 
	 * @param deptUid
	 * @param page
	 * @return
	 */
	public List<AssignmentDevice> getStartedAssignmentDevices(String deptUid, Page<AssignmentDevice> page);

	/**
	 * 获取某一部门还未发生作用的派工单
	 * 
	 * @param deptUid
	 * @param page
	 * @return
	 */
	public List<AssignmentDevice> getUnWorkAssignmentDevices(String deptUid, Page<AssignmentDevice> page);

//	/**
//	 * 获取某一部门一段时间的未完派工记录,按照派工时间进行排序
//	 * 
//	 * @param deptUid
//	 * @param page
//	 * @return
//	 */
//	public List<AssignmentDevice> getAssignmentDevices(String deptUid, Page<AssignmentDevice> page);
	
//	/**
//	 * 获取某一个人员的派工记录
//	 * 
//	 * @param employeeUid
//	 * @param page
//	 * @return
//	 */
//	public List<AssignmentDevice> getEmployeeAssignments(String employeeUid, Page<AssignmentDevice> page);

//	/**
//	 * 获取某一台设备的的派工记录,包含未完成的指派和前一天之内已经完成指派
//	 * 
//	 * @param deviceUid
//	 * @param page
//	 * @return
//	 */
//	public List<AssignmentDevice> getDeviceAssignments(String deviceUid, Page<AssignmentDevice> page);

	/**
	 * 获取某一台设备的未完成的派工记录
	 * 
	 * @param deviceUid
	 * @param page
	 * @return
	 */
	public List<AssignmentDevice> getDeviceUnFinishedAssignments(String deviceUid, Page<AssignmentDevice> page);



}
